package edu.stanford.prpl.api;

import java.util.Calendar;
import java.util.Set;

public interface PersistentIndex<K, E> {

	void close();
	
	void clearIndex();

	Set<E> entrySet();

	E getEntry(K key);

	String getIndexName();

	boolean isModifiedSince(Calendar calendar);

	Set<K> keySet();

	Calendar lastModified();

	void persist();

	void remove(Object key);

	void updateIndex(K key, E entry);

	void setModifiedDate(Calendar calendar);
}
